﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000BEF RID: 3055
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class MonsterProperty : IMessage<MonsterProperty>, IMessage, IEquatable<MonsterProperty>, IDeepCloneable<MonsterProperty>, IBufferMessage
	{
		// Token: 0x1700268C RID: 9868
		// (get) Token: 0x060088C2 RID: 35010 RVA: 0x0016BDC3 File Offset: 0x00169FC3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<MonsterProperty> Parser
		{
			get
			{
				return MonsterProperty._parser;
			}
		}

		// Token: 0x1700268D RID: 9869
		// (get) Token: 0x060088C3 RID: 35011 RVA: 0x0016BDCA File Offset: 0x00169FCA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return MonsterPropertyReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700268E RID: 9870
		// (get) Token: 0x060088C4 RID: 35012 RVA: 0x0016BDDC File Offset: 0x00169FDC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return MonsterProperty.Descriptor;
			}
		}

		// Token: 0x060088C5 RID: 35013 RVA: 0x0016BDE3 File Offset: 0x00169FE3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MonsterProperty()
		{
		}

		// Token: 0x060088C6 RID: 35014 RVA: 0x0016BDEC File Offset: 0x00169FEC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MonsterProperty(MonsterProperty other) : this()
		{
			this.maxHp_ = other.maxHp_;
			this.attack_ = other.attack_;
			this.defence_ = other.defence_;
			this.shield_ = other.shield_;
			this.speed_ = other.speed_;
			this.leftHp_ = other.leftHp_;
			this.enterBattleHp_ = other.enterBattleHp_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060088C7 RID: 35015 RVA: 0x0016BE64 File Offset: 0x0016A064
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public MonsterProperty Clone()
		{
			return new MonsterProperty(this);
		}

		// Token: 0x1700268F RID: 9871
		// (get) Token: 0x060088C8 RID: 35016 RVA: 0x0016BE6C File Offset: 0x0016A06C
		// (set) Token: 0x060088C9 RID: 35017 RVA: 0x0016BE74 File Offset: 0x0016A074
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double MaxHp
		{
			get
			{
				return this.maxHp_;
			}
			set
			{
				this.maxHp_ = value;
			}
		}

		// Token: 0x17002690 RID: 9872
		// (get) Token: 0x060088CA RID: 35018 RVA: 0x0016BE7D File Offset: 0x0016A07D
		// (set) Token: 0x060088CB RID: 35019 RVA: 0x0016BE85 File Offset: 0x0016A085
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Attack
		{
			get
			{
				return this.attack_;
			}
			set
			{
				this.attack_ = value;
			}
		}

		// Token: 0x17002691 RID: 9873
		// (get) Token: 0x060088CC RID: 35020 RVA: 0x0016BE8E File Offset: 0x0016A08E
		// (set) Token: 0x060088CD RID: 35021 RVA: 0x0016BE96 File Offset: 0x0016A096
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Defence
		{
			get
			{
				return this.defence_;
			}
			set
			{
				this.defence_ = value;
			}
		}

		// Token: 0x17002692 RID: 9874
		// (get) Token: 0x060088CE RID: 35022 RVA: 0x0016BE9F File Offset: 0x0016A09F
		// (set) Token: 0x060088CF RID: 35023 RVA: 0x0016BEA7 File Offset: 0x0016A0A7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Shield
		{
			get
			{
				return this.shield_;
			}
			set
			{
				this.shield_ = value;
			}
		}

		// Token: 0x17002693 RID: 9875
		// (get) Token: 0x060088D0 RID: 35024 RVA: 0x0016BEB0 File Offset: 0x0016A0B0
		// (set) Token: 0x060088D1 RID: 35025 RVA: 0x0016BEB8 File Offset: 0x0016A0B8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Speed
		{
			get
			{
				return this.speed_;
			}
			set
			{
				this.speed_ = value;
			}
		}

		// Token: 0x17002694 RID: 9876
		// (get) Token: 0x060088D2 RID: 35026 RVA: 0x0016BEC1 File Offset: 0x0016A0C1
		// (set) Token: 0x060088D3 RID: 35027 RVA: 0x0016BEC9 File Offset: 0x0016A0C9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double LeftHp
		{
			get
			{
				return this.leftHp_;
			}
			set
			{
				this.leftHp_ = value;
			}
		}

		// Token: 0x17002695 RID: 9877
		// (get) Token: 0x060088D4 RID: 35028 RVA: 0x0016BED2 File Offset: 0x0016A0D2
		// (set) Token: 0x060088D5 RID: 35029 RVA: 0x0016BEDA File Offset: 0x0016A0DA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double EnterBattleHp
		{
			get
			{
				return this.enterBattleHp_;
			}
			set
			{
				this.enterBattleHp_ = value;
			}
		}

		// Token: 0x060088D6 RID: 35030 RVA: 0x0016BEE3 File Offset: 0x0016A0E3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as MonsterProperty);
		}

		// Token: 0x060088D7 RID: 35031 RVA: 0x0016BEF4 File Offset: 0x0016A0F4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(MonsterProperty other)
		{
			return other != null && (other == this || (ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.MaxHp, other.MaxHp) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Attack, other.Attack) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Defence, other.Defence) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Shield, other.Shield) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Speed, other.Speed) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.LeftHp, other.LeftHp) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.EnterBattleHp, other.EnterBattleHp) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060088D8 RID: 35032 RVA: 0x0016BFD4 File Offset: 0x0016A1D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.MaxHp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.MaxHp);
			}
			if (this.Attack != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Attack);
			}
			if (this.Defence != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Defence);
			}
			if (this.Shield != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Shield);
			}
			if (this.Speed != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Speed);
			}
			if (this.LeftHp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.LeftHp);
			}
			if (this.EnterBattleHp != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.EnterBattleHp);
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060088D9 RID: 35033 RVA: 0x0016C0F6 File Offset: 0x0016A2F6
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060088DA RID: 35034 RVA: 0x0016C0FE File Offset: 0x0016A2FE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060088DB RID: 35035 RVA: 0x0016C108 File Offset: 0x0016A308
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.MaxHp != 0.0)
			{
				output.WriteRawTag(9);
				output.WriteDouble(this.MaxHp);
			}
			if (this.Attack != 0.0)
			{
				output.WriteRawTag(17);
				output.WriteDouble(this.Attack);
			}
			if (this.Defence != 0.0)
			{
				output.WriteRawTag(25);
				output.WriteDouble(this.Defence);
			}
			if (this.Shield != 0.0)
			{
				output.WriteRawTag(33);
				output.WriteDouble(this.Shield);
			}
			if (this.Speed != 0.0)
			{
				output.WriteRawTag(41);
				output.WriteDouble(this.Speed);
			}
			if (this.LeftHp != 0.0)
			{
				output.WriteRawTag(49);
				output.WriteDouble(this.LeftHp);
			}
			if (this.EnterBattleHp != 0.0)
			{
				output.WriteRawTag(57);
				output.WriteDouble(this.EnterBattleHp);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060088DC RID: 35036 RVA: 0x0016C22C File Offset: 0x0016A42C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.MaxHp != 0.0)
			{
				num += 9;
			}
			if (this.Attack != 0.0)
			{
				num += 9;
			}
			if (this.Defence != 0.0)
			{
				num += 9;
			}
			if (this.Shield != 0.0)
			{
				num += 9;
			}
			if (this.Speed != 0.0)
			{
				num += 9;
			}
			if (this.LeftHp != 0.0)
			{
				num += 9;
			}
			if (this.EnterBattleHp != 0.0)
			{
				num += 9;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060088DD RID: 35037 RVA: 0x0016C2EC File Offset: 0x0016A4EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(MonsterProperty other)
		{
			if (other == null)
			{
				return;
			}
			if (other.MaxHp != 0.0)
			{
				this.MaxHp = other.MaxHp;
			}
			if (other.Attack != 0.0)
			{
				this.Attack = other.Attack;
			}
			if (other.Defence != 0.0)
			{
				this.Defence = other.Defence;
			}
			if (other.Shield != 0.0)
			{
				this.Shield = other.Shield;
			}
			if (other.Speed != 0.0)
			{
				this.Speed = other.Speed;
			}
			if (other.LeftHp != 0.0)
			{
				this.LeftHp = other.LeftHp;
			}
			if (other.EnterBattleHp != 0.0)
			{
				this.EnterBattleHp = other.EnterBattleHp;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060088DE RID: 35038 RVA: 0x0016C3DF File Offset: 0x0016A5DF
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060088DF RID: 35039 RVA: 0x0016C3E8 File Offset: 0x0016A5E8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 25U)
				{
					if (num == 9U)
					{
						this.MaxHp = input.ReadDouble();
						continue;
					}
					if (num == 17U)
					{
						this.Attack = input.ReadDouble();
						continue;
					}
					if (num == 25U)
					{
						this.Defence = input.ReadDouble();
						continue;
					}
				}
				else if (num <= 41U)
				{
					if (num == 33U)
					{
						this.Shield = input.ReadDouble();
						continue;
					}
					if (num == 41U)
					{
						this.Speed = input.ReadDouble();
						continue;
					}
				}
				else
				{
					if (num == 49U)
					{
						this.LeftHp = input.ReadDouble();
						continue;
					}
					if (num == 57U)
					{
						this.EnterBattleHp = input.ReadDouble();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400342E RID: 13358
		private static readonly MessageParser<MonsterProperty> _parser = new MessageParser<MonsterProperty>(() => new MonsterProperty());

		// Token: 0x0400342F RID: 13359
		private UnknownFieldSet _unknownFields;

		// Token: 0x04003430 RID: 13360
		public const int MaxHpFieldNumber = 1;

		// Token: 0x04003431 RID: 13361
		private double maxHp_;

		// Token: 0x04003432 RID: 13362
		public const int AttackFieldNumber = 2;

		// Token: 0x04003433 RID: 13363
		private double attack_;

		// Token: 0x04003434 RID: 13364
		public const int DefenceFieldNumber = 3;

		// Token: 0x04003435 RID: 13365
		private double defence_;

		// Token: 0x04003436 RID: 13366
		public const int ShieldFieldNumber = 4;

		// Token: 0x04003437 RID: 13367
		private double shield_;

		// Token: 0x04003438 RID: 13368
		public const int SpeedFieldNumber = 5;

		// Token: 0x04003439 RID: 13369
		private double speed_;

		// Token: 0x0400343A RID: 13370
		public const int LeftHpFieldNumber = 6;

		// Token: 0x0400343B RID: 13371
		private double leftHp_;

		// Token: 0x0400343C RID: 13372
		public const int EnterBattleHpFieldNumber = 7;

		// Token: 0x0400343D RID: 13373
		private double enterBattleHp_;
	}
}
